XMLをJSONに変換したらまだ読みやすかった件および経験について


概要

XMLの可読性の低さがキライです。


なんで開きタグと閉じタグが必要なんですか?

アトリビュートとかそういうのって選択肢無駄に増やしてるだけで読みにくいです

馬鹿なんですか。 死ぬんですか。

(個人差があります。)

で、ビジュアライズするツールを探した。


要件は、

・Webサービスである事

・xml本来よりまだ見やすい表現方法であること



探し方

ここに一番詰った。これを書きたい。


最初、xml visualization でググって探した。


xmlの内容を読みやすくできればいいかなーと思ったので。

visualizeであるかなーと。


そしたら、

なんでかオンライン表示ツールは存在せず、

ダウンロードして動かしてね的なツールが山のように見つかった。


stackoverflowですら、GUIツールを提示してきて絶望した。


もちろんそんなものに用は無い。

たかだか可読性をあげるためだけに、何かインストールして見るとか厭だ。

しかも対象はxml。

絶対に厭だ。



で、考え直す

落ち着け、素数を数えて落ち着くんだ。

ぶっちゃけxmlの形式が読みにくいだけなんで、ほかの形式に変える、

そう、そういうアプローチにしよう。

って探したら、すばらしい事に最初の目的

・xmlのビジュアライズを行うツール

に巡り会えた。



今回の神

XML-JSON相互変換ツール - Bluehawk's lab.

http://bluehawk.infinitybird.com/dev/xmljson.html


おかげさまで読みやすいです。

JSONオブジェクトを階層表示で表示可能で、xmlをビジュアライズしたかった事も叶いました。


参考までに。


xmlのクソデータ


<?xml version="1.0" encoding="utf-8"?> 

<areaData title="サンプルデータ">

  <hrTitle1 title="見出し1" no="0">

    <hrTitle2 title="見出し2a" no="0">

      <hrTitle3 title="見出し3a" no="0">

       <listItem>テスト</listItem>

      </hrTitle3>

      <hrTitle3 title="見出し3a" no="1">

       <listItem>テスト</listItem>

      </hrTitle3>

    </hrTitle2>

    <hrTitle2 title="見出し2b" no="1">

      <hrTitle3 title="見出し3b" no="0">

       <listItem>テスト</listItem>

       <listItem>テスト</listItem>

       <listItem>テスト</listItem>

       <listItem>テスト</listItem>

       <listItem>テスト</listItem>

      </hrTitle3>

    </hrTitle2>

  </hrTitle1>

</areaData>



jsonのまだ赦せるデータ


{

  "areaData": {

    "-title": "サンプルデータ",

    "hrTitle1": {

      "-title": "見出し1",

      "-no": "0",

      "hrTitle2": [

        {

          "-title": "見出し2a",

          "-no": "0",

          "hrTitle3": [

            {

              "-title": "見出し3a",

              "-no": "0",

              "listItem": "テスト"

            },

            {

              "-title": "見出し3a",

              "-no": "1",

              "listItem": "テスト"

            }

          ]

        },

        {

          "-title": "見出し2b",

          "-no": "1",

          "hrTitle3": {

            "-title": "見出し3b",

            "-no": "0",

            "listItem": [

              "テスト",

              "テスト",

              "テスト",

              "テスト",

              "テスト"

            ]

          }

        }

      ]

    }

  }

}

アトリビュートもウマい事わけてくれて、助かります。



一つ思いついた事

人間が手を加える前提のファイルと、そうでなくProgramから触れる前提のファイルを、

xmlのクソビジュアル性を使って別けられるのではないか。


人が手を加えたり読んだりする前提のファイルは

xml以外


人が手を加えたり読んだりしない前提のファイルは

xml

コレでいい気がする。

俺の中では、xmlはバイナリファイル。 俺の中ではな。



そんなことよりももいろClojureがいい感じです(脳内で